home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 20
/
Cream of the Crop 20 (Terry Blount) (1996).iso
/
disk
/
fill605.zip
/
FILL.DOC
< prev
next >
Wrap
Text File
|
1996-05-10
|
21KB
|
431 lines
FILL.DOC 1 Revised: 05/10/96
The FILL program is designed to help you move or copy files off a hard disk
while reducing the amount of wasted space on the destination disks. Internally,
it does this by sorting the file names so the largest files are moved/copied
first. It then moves or copies whatever files can fit on the floppy, skipping
any that can't. Features:
* Can either move or copy the files to the resulting location.
* Can go onto to multiple diskettes as desired, beeping if desired when
the next disk is expected.
* Can move the files in file name order or any of standard ordering
categories.
* Can be used to split up files which are too big to fit on a single disk.
* Can create a status/transaction file for you, showing what was copied/moved.
* Can label the output diskette, providing some patterns like sequence numbers
and dates which it will fill in for you.
* Some times useful for network transfers where standard MOVE command doesn't
always work.
* Can review and delete if desired any files which are already in the
output destination (e.g. already on the output diskette).
* Can reformat the whole disk if files are going to drive A or B.
* Can specify an input file ("@listfile") which contains the files to be
copied.
Limits:
* Routine can only process the first 500 files found. It ignores the rest of
them. If you're using /MOVE, you can always run it after some of the
files are gone and get the rest of them that way.
* Routine can only review for deletion the first 200 files in the output
location.
* Routine does not provide any cool features to fix up destination drives
that have surface errors. If it encounters an error, it just beeps, gives
you an error message, and returns to DOS.
* Routine will not format the output diskette for you.
* Switching diskette densities is not recommended (e.g. intermixing 720K
diskettes with 1.44MB diskettes may cause errors).
* The routine's ability to continually test for a new diskette (/CONT) only
works if the diskette was formatted using DOS 4.0 or later. That's the
version that puts volume sequence numbers on the diskettes. One way to
insure this if you're using the newer versions of DOS is to do a
quick-reformat of your floppies whenever you'd normally do a DEL A:*.*. I
do this with a QDR.BAT command that has the following:
FORMAT %1 /Q /U /V:Bruce
I then say "QDR A:" or "QDR B:". It invokes an unconditional quick format
and applies a volume label on the diskette (to avoid the prompt). If the
diskette does not have a sequence number, DOS tells you it can't be
quick-formatted and asks if it can do the full format instead.
FILL.DOC 2 Revised: 05/10/96
Note on copying/moving files to multiple diskettes:
I didn't think this was confusing but a lot of people don't seem to understand
the technique of how files are moved to multiple diskettes.
Let's say you have six files:
A_FILE.ZIP 500K
B_FILE.ZIP 300K
C_FILE.ZIP 650K
D_FILE.ZIP 200K
E_FILE.ZIP 450K
F_FILE.ZIP 25K
You're moving these files to blank 1.2MB diskettes and you have the default
/MULTI and /ON settings. The program checks how much space is available on the
destination drive and comes back with 1.2MB.
It scans the input files and internally sorts them by descending size. It then
looks for the biggest file in the file list and comes back with C_FILE.ZIP at
650K. Will this file fit on the destination drive? Yes. It retains that
information, figures there is now 550K left on the output drive, and checks for
the second biggest file. A_FILE.ZIP is 500K. Will that also fit? Yes. So now
there's 50K left. The next biggest file is E_FILE.ZIP at 450K. Will that fit?
Nope. Check the next biggest. This continues until it reaches the file
F_FILE.ZIP which is only 25K. That's the biggest file that will fit in the
remaining 50K.
So it has three files to move. What order should it move them? You have /ON
set so it's going to move them in file name order. So it moves the following
files in the following order:
A_FILE.ZIP 500K
C_FILE.ZIP 650K
F_FILE.ZIP 25K
Next diskette. Same process. This time it processes the remaining files:
B_FILE.ZIP 300K
D_FILE.ZIP 200K
E_FILE.ZIP 450K
Specifying parameters:
Parameters for this program can be set in the following ways. The last setting
encountered always wins:
- Read from an *.INI file (see BRUCEINI.DOC file),
- Through the use of an environmental variable (SET FILL=whatever), or
- From the command line (see "Syntax" below)
FILL.DOC 3 Revised: 05/10/96
Syntax:
FILL [ filespec | @listfile ] [ [ /TO ] drive: | [ /TO ] drive:\path\ ]
[ /MOVE | /COPY ] [ /PROMPT ] [ /Iinitfile | /-I ]
[ /OVERWRITE | /-OVERWRITE | /OVERSKIP | /OVERASK ]
[ /Ox | /O-x ] [ /Xfilespec ]... [ /WIPE ] [ /MULTI | /SINGLE ]
[ /SPLIT ] [ /FORCE ] [ /-LETTER ] [ /LABEL=label [ /START=n ] ]
[ /Frptfile [ /S+ | /S- | S* ] [ /CONT ] [ /TIME ]
[ /-BEEP ] [ /-LAST ] [ /FAKE ] [ /Q ] [ /? ]
where:
"filespec" is the file specification for what you want to move. You can specify
a drive and path and file wildcards if necessary (e.g. "C:\TEMP\*.BAT") but
otherwise it defaults to your default drive and directory and takes "*.*". Note
that the program cannot handle any request for more than 500 files at a time.
"@listfile" allows you to have a variety of file specifications saved in a text
file named "listfile". You cannot have more than 50 file specifications in this
file (and you're still limited to the 500 files total). Each line should
consist of a file name with optional drive and path information. Blank lines
and lines beginning with semi-colons, colons, or quotes are ignored.
"drive:" or "drive:\path" (or "/TO drive:" or "/TO drive:\path") tells the
routine what drive or path to move the files to. In many cases, the routine
doesn't really care whether the source specification precedes or follows the
destination specification. If either parameter ends with a colon (e.g. "A:")
or slash (e.g. "C:\QB45\"), the routine will presume that's the destination
specification and the other one must be the source specification. If either
parameter contains a wildcard, the routine will presume that's the source
specification and the other one must be the destination specification. So "FILL
A: *.BAS" is the same as "FILL *.BAS A:". The use of the "/TO" keyword is
optional unless the specification is being provided in an initfile. The
original default is "A:" (or "/TO A:").
"/MOVE" says to move the files instead of copying them. Initially defaults to
"/MOVE".
"/COPY" says to copy the files instead of moving them. Initially defaults to
"/MOVE".
"/PROMPT" says to prompt for each filename before moving it. Initially defaults
to "/-PROMPT".
"/-PROMPT" says to not prompt for each file. Initially defaults to "/-PROMPT".
"/Iinitfile" says to read an initialization file with the file name "initfile".
The file specification *must* contain a period. Initfiles are described in the
BRUCEINI.DOC file. Initially defaults to "/IFILL.INI".
"/-I" (or "/INULL") says to skip loading the initialization file.
FILL.DOC 4 Revised: 05/10/96
"/OVERWRITE" says to overwrite same-named files in the destination path.
Initially defaults to "/OVERSKIP".
"/-OVERWRITE" says to abort if any same-named files are found in the destination
path. Initially defaults to "/OVERSKIP".
"/OVERSK